/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//ela maratina el poder que tiene ud es increible
package agencia;

import java.io.Serializable;
import javax.persistence.Entity; //Pasa clase a tabla
import javax.persistence.Id;
import javax.persistence.GeneratedValue; //Forma que se generan los ids
import javax.persistence.GenerationType; //Typos de datos

import javax.persistence.Table; //Personalizar nombre de tabla sino idem class
import javax.persistence.Transient; //para atributos que se equiran NO persistir
import javax.persistence.Column; //Personalizar nombre de columna en tabla sino idem class

import javax.persistence.CascadeType;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.ManyToMany;
import javax.persistence.JoinColumn;

import java.util.List;
import java.util.ArrayList;
/**
 *
 * @author martin probando google code
 */

@Entity
public class Apuesta implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private long idApuesta;

    private String directa;
    private String ubicacionDirecta;
    private String redoblona;
    private String ubicacionRedoblona;
    private float monto;
    
    @ManyToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY)
    @JoinColumn()//nullable=true x defecto, especifica q puede haber objetos sin fk
    private List<Loteria> loterias = new ArrayList<Loteria>();



    public Apuesta() {
    }

    
    public String getDirecta() {
        return directa;
    }

    public void setDirecta(String directa) {
        this.directa = directa;
    }

    public float getMonto() {
        return monto;
    }

    public void setMonto(float monto) {
        this.monto = monto;
    }

    public String getRedoblona() {
        return redoblona;
    }

    public void setRedoblona(String redoblona) {
        this.redoblona = redoblona;
    }

    public String getUbicacionDirecta() {
        return ubicacionDirecta;
    }

    public void setUbicacionDirecta(String ubicacionDirecta) {
        this.ubicacionDirecta = ubicacionDirecta;
    }

    public String getUbicacionRedoblona() {
        return ubicacionRedoblona;
    }

    public void setUbicacionRedoblona(String ubicacionRedoblona) {
        this.ubicacionRedoblona = ubicacionRedoblona;
    }

    public long getIdApuesta() {
        return idApuesta;
    }

    public void setIdApuesta(long idApuesta) {
        this.idApuesta = idApuesta;
    }

    public List<Loteria> getLoterias() {
        return loterias;
    }

    public void setLoterias(List<Loteria> loterias) {
        this.loterias = loterias;
    }

    public String [] asStringArray () {
        String [] fila = new String [6];
        fila[0]=this.directa;
        fila[1]=this.ubicacionDirecta;
        fila[2]=this.redoblona;
        fila[3]=this.ubicacionRedoblona;
        fila[4]=String.valueOf(this.monto);
        fila[5]=String.valueOf(this.getSubtotal());
        return fila;

    }

    public float getSubtotal () {
        float subtotal = 0;
            subtotal = this.monto*this.getLoterias().size();
        return subtotal;
    }
}
